Skip to content

tail: fix -F to properly track symlinks with changing targets#10158

Merged
sylvestre merged 3 commits intouutils:mainfrom
ChrisDryden:tail-follow-symlink
Feb 1, 2026
Merged

tail: fix -F to properly track symlinks with changing targets#10158
sylvestre merged 3 commits intouutils:mainfrom
ChrisDryden:tail-follow-symlink

Conversation

@ChrisDryden
Copy link
Collaborator

When investigating the symlink test, it seemed that it was expecting very similar behaviour to the way that we track orphan files. Did some testing around to see if we could place the symlink files that have broken links to the orphan tracker in the event loop when unable to access the metadata to reuse the logic. Seemed to match the behaviour that the gnu test was expecting.

@ChrisDryden
Copy link
Collaborator Author

The new integration test appears to be failing on some platforms, moving back to draft to investigate

@ChrisDryden ChrisDryden marked this pull request as draft January 10, 2026 08:16
@github-actions
Copy link

GNU testsuite comparison:

Congrats! The gnu test tests/tail/symlink is no longer failing!

@anastygnome
Copy link
Contributor

Hey, IIrc the has appeared message is sometimes random. Even with gnu utils

@github-actions
Copy link

GNU testsuite comparison:

Skipping an intermittent issue tests/tty/tty-eof (passes in this run but fails in the 'main' branch)
Congrats! The gnu test tests/tail/symlink is no longer failing!

@sylvestre
Copy link
Contributor

@ChrisDryden why did you close it ? :)

@github-actions
Copy link

GNU testsuite comparison:

Congrats! The gnu test tests/tail/symlink is no longer failing!

@codspeed-hq
Copy link

codspeed-hq bot commented Jan 20, 2026

CodSpeed Performance Report

Merging this PR will not alter performance

Comparing ChrisDryden:tail-follow-symlink (223e0e5) with main (cbbff30)

Summary

✅ 142 untouched benchmarks
⏩ 180 skipped benchmarks1

Footnotes

  1. 180 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@github-actions
Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/tail/inotify-dir-recreate (fails in this run but passes in the 'main' branch)
Congrats! The gnu test tests/tail/symlink is no longer failing!

@ChrisDryden ChrisDryden marked this pull request as ready for review January 21, 2026 03:43
@github-actions
Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/shuf/shuf-reservoir (fails in this run but passes in the 'main' branch)
Skip an intermittent issue tests/sort/sort-stale-thread-mem (fails in this run but passes in the 'main' branch)
Congrats! The gnu test tests/tail/symlink is no longer failing!

@ChrisDryden
Copy link
Collaborator Author

I think its good to go now

@github-actions
Copy link

GNU testsuite comparison:

Congrats! The gnu test tests/tail/symlink is no longer failing!
Note: The gnu test tests/dd/no-allocate is now being skipped but was previously passing.

@sylvestre sylvestre merged commit 8bb31ee into uutils:main Feb 1, 2026
131 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants